home *** CD-ROM | disk | FTP | other *** search
/ TeX 1995 July / TeX CD-ROM July 1995 (Disc 1)(Walnut Creek)(1995).ISO / macros / lamstex / inputs / book.stb < prev    next >
Text File  |  1991-09-06  |  18KB  |  561 lines

  1. % BOOK.STB  VERSION 2.0
  2. % COPYRIGHT (C) 1989, 1990, 1991 BY THE TEXPLORATORS CORPORATION
  3. % ALL RIGHTS RESERVED
  4.  
  5. % IF THIS FILE IS MODIFIED IN ANY WAY, IT SHOULD BE GIVEN A DIFFERENT NAME !
  6.  
  7. \catcode`\@=11
  8. \let\alloc@\alloc@@
  9.  
  10. \hsize=29pc
  11. \advance\hoffset 42pt
  12. \vsize=40pc
  13. \advance\voffset 90pt
  14. \normallineskiplimit=1pt
  15. \parindent=10pt
  16.  
  17. \font@\ninerm=cmr9
  18. \font@\eightrm=cmr8
  19. \font@\sixrm=cmr6
  20. \font@\eighti=cmmi8   \skewchar\eighti='177
  21. \font@\sixi=cmmi6     \skewchar\sixi='177
  22. \font@\ninesy=cmsy9   \skewchar\ninesy='60
  23. \font@\eightsy=cmsy8  \skewchar\eightsy='60
  24. \font@\sixsy=cmsy6    \skewchar\sixsy='60
  25. \font@\eightbf=cmbx8
  26. \font@\sixbf=cmbx6
  27. \font@\eightit=cmti8
  28. \font@\eightsl=cmsl8
  29. \font@\eighttt=cmtt8
  30.  
  31. \ifmsamloaded@
  32.  \font@\eightmsa=msam8
  33.  \font@\sixmsa=msam6
  34. \fi
  35.  
  36. \ifmsbmloaded@
  37.  \font@\eightmsb=msbm8
  38.  \font@\sixmsb=msbm6
  39. \fi
  40.  
  41. \ifeufmloaded@
  42.  \font@\eighteufm=eufm8
  43.  \font@\sixeufm=eufm6
  44. \fi
  45.  
  46. \ifcmmibloaded@
  47.  \font@\eightcmmib=cmmib8 \skewchar\eightcmmib='177
  48.  \font@\sixcmmib=cmmib6 \skewchar\sixcmmib='177
  49. \fi
  50.  
  51. \ifcmbsyloaded@
  52.  \font@\eightcmbsy=cmbsy8 \skewchar\eightcmbsy='60
  53.  \font@\sixcmbsy=cmbsy6 \skewchar\sixcmbsy='60
  54. \fi
  55.  
  56. \newskip\ttglue@
  57.  
  58. \def\tenpoint{\def\pointsize@{10}%
  59.  \normalbaselineskip12\p@
  60.  \abovedisplayskip12\p@ plus3\p@ minus9\p@
  61.  \belowdisplayskip12\p@ plus3\p@ minus9\p@
  62.  \abovedisplayshortskip\z@ plus3\p@
  63.  \belowdisplayshortskip7\p@ plus3\p@ minus4\p@
  64.  \textonlyfont@\rm\tenrm
  65.  \textonlyfont@\it\tenit
  66.  \textonlyfont@\sl\tensl
  67.  \textonlyfont@\bf\tenbf
  68.  \ifsyntax@\def\big##1{{\hbox{$\left##1\right.$}}}\else
  69.   \let\big\tenbig@
  70.   \textfont\z@\tenrm  \scriptfont\z@\sevenrm  \scriptscriptfont\z@\fiverm
  71.   \textfont\@ne\teni  \scriptfont\@ne\seveni  \scriptscriptfont\@ne\fivei
  72.   \textfont\tw@\tensy \scriptfont\tw@\sevensy \scriptscriptfont\tw@\fivesy
  73.   \textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex
  74.   \textfont\itfam\tenit
  75.   \textfont\slfam\tensl
  76.   \textfont\bffam\tenbf \scriptfont\bffam\sevenbf
  77.    \scriptscriptfont\bffam\fivebf
  78.   \ifmsamloaded@
  79.    \textfont\msafam=\tenmsa \scriptfont\msafam=\sevenmsa
  80.     \scriptscriptfont\msafam=\fivemsa
  81.   \fi
  82.   \ifmsbmloaded@
  83.    \textfont\msbfam=\tenmsb \scriptfont\msbfam=\sevenmsb
  84.     \scriptscriptfont\msbfam=\fivemsb
  85.   \fi
  86.   \ifeufmloaded@
  87.    \textfont\eufmfam=\teneufm \scriptfont\eufmfam=\seveneufm
  88.     \scriptscriptfont\eufmfam=\fiveeufm
  89.   \fi
  90.   \ifcmmibloaded@
  91.    \textfont\cmmibfam=\tencmmib \scriptfont\cmmibfam=\sevencmmib
  92.     \scriptscriptfont\cmmibfam=\fivecmmib
  93.   \fi
  94.   \ifcmbsyloaded@
  95.    \textfont\cmbsyfam=\tencmbsy \scriptfont\cmbsyfam=\sevencmbsy
  96.     \scriptscriptfont\cmbsyfam=\fivecmbsy
  97.   \fi
  98.  \fi
  99.  \let\tt\tentt
  100.  \tt\ttglue@=.5em minus .15em\relax
  101.  \setbox\strutbox\hbox{\vrule\height8.5\p@\depth3.5\p@\width\z@}%
  102.  \setbox\strutbox@\hbox{\vrule\height8\p@\depth3\p@\width\z@}%
  103.  \ex@=.2326ex\normalbaselines\ifmmode\else\rm\fi}
  104.  
  105. \def\tenbig@#1{{\hbox{$\left#1\vbox to8.5\p@{}\right.\n@space$}}}
  106.  
  107. \tenpoint
  108.  
  109. \def\eightpoint{\def\pointsize@{8}%
  110.  \normalbaselineskip10\p@
  111.  \abovedisplayskip10\p@ plus2.4\p@ minus7.2\p@
  112.  \belowdisplayskip10\p@ plus2.4\p@ minus7.2\p@
  113.  \abovedisplayshortskip\z@ plus2.4\p@
  114.  \belowdisplayshortskip5.6\p@ plus2.4\p@ minus3.2\p@
  115.  \textonlyfont@\rm\eightrm
  116.  \textonlyfont@\it\eightit
  117.  \textonlyfont@\sl\eightsl
  118.  \textonlyfont@\bf\eightbf
  119.  \ifsyntax@\def\big##1{{\hbox{$\left##1\right.$}}}\else
  120.   \let\big\eightbig@
  121.   \textfont\z@\eightrm \scriptfont\z@\sixrm  \scriptscriptfont\z@\fiverm
  122.   \textfont\@ne\eighti \scriptfont\@ne\sixi  \scriptscriptfont\@ne\fivei
  123.   \textfont\tw@\eightsy \scriptfont\tw@\sixsy \scriptscriptfont\tw@\fivesy
  124.   \textfont\thr@@\tenex \scriptfont\thr@@\tenex \scriptscriptfont\thr@@\tenex
  125.   \textfont\itfam\eightit
  126.   \textfont\slfam\eightsl
  127.   \textfont\bffam\eightbf \scriptfont\bffam\sixbf
  128.    \scriptscriptfont\bffam\fivebf
  129.   \ifmsamloaded@
  130.    \textfont\msafam=\eightmsa \scriptfont\msafam=\sixmsa
  131.     \scriptscriptfont\msafam=\fivemsa
  132.   \fi
  133.   \ifmsbmloaded@
  134.    \textfont\msbfam=\eightmsb \scriptfont\msbfam=\sixmsb
  135.     \scriptscriptfont\msbfam=\fivemsb
  136.   \fi
  137.   \ifeufmloaded@
  138.    \textfont\eufmfam=\eighteufm \scriptfont\eufmfam=\sixeufm
  139.     \scriptscriptfont\eufmfam=\fiveeufm
  140.   \fi
  141.   \ifcmmibloaded@
  142.    \textfont\cmmibfam=\eightcmmib \scriptfont\cmmibfam=\sixcmmib
  143.     \scriptscriptfont\cmmibfam=\fivecmmib
  144.   \fi
  145.   \ifcmbsyloaded@
  146.    \textfont\cmbsyfam=\eightcmbsy \scriptfont\cmbsyfam=\sixcmbsy
  147.     \scriptscriptfont\cmbsyfam=\fivecmbsy
  148.   \fi
  149.  \fi
  150.  \let\tt\eighttt
  151.  \tt\ttglue@=.4em minus .12em
  152.  \setbox\strutbox\hbox{\vrule\height7\p@\depth3\p@\width\z@}%
  153.  \setbox\strutbox@\hbox{\vrule\height6.5\p@\depth2.5\p@\width\z@}%
  154.  \ex@=.2326ex\normalbaselines\ifmmode\else\rm\fi}
  155.  
  156. \def\eightbig@#1{{\hbox{$\textfont\z@\ninerm\textfont\tw@\ninesy
  157.  \left#1\vbox to6.5\p@{}\right.\n@space$}}}
  158.  
  159. {\catcode` =\active
  160. \gdef\litcodes@@{\def {\penalty\z@\hskip\ttglue@}}}
  161.  
  162. \def\LamSTeX{L\kern-.4em\raise.3ex\hbox{$\ssize\Cal A$}%
  163.  \DN@{10}\ifx\next@\pointsize@\kern-.25em\else\kern-.3em\fi
  164.  \lower.4ex\hbox{\if\pointsize@ t\eightsy\else\sixsy\fi M}%
  165.  \kern-.1em{$\Cal S$}-\TeX}
  166.  
  167. \def\adjustpunct@#1{\count@\lastkern
  168.  \ifnum\count@=\z@#1\else
  169.  \ifnum\count@>\tw@#1\else
  170.  \ifnum\count@<-\tw@#1\else
  171.   \unkern\unkern\setboxzl@
  172.   \skip@\lastskip\unskip
  173.   \count@@\lastpenalty\unpenalty
  174.   \ifnum\count@=\tw@\unskip\setboxzl@\fi
  175.   \ifdim\skip@=\z@\else\hskip\skip@\fi
  176.   #1%
  177.   \ifnum\count@=\tw@\null\hfill\fi
  178.   \penalty\count@@
  179.  \fi\fi\fi}
  180. \def\ignorepars@{\FNSS@\ignorepars@@}
  181. \def\ignorepars@@{\ifx\next\par\DN@\par{\FN@\ignorepars@@}\else
  182.  \let\next@\relax\fi\next@}
  183. \newcount\ctype@
  184. \newcount\Ctype@
  185. \newif\ifleftcolbreak@
  186. \def\cbreak@#1#2{\ifcase\ctype@#1\or\nobreak#2\else
  187.  \global\leftcolbreak@true
  188.  \ifdim\pagetotal>\pageheight@\global\leftcolbreak@false\fi
  189.  \global\Ctype@\ctype@\break\fi\ctype@\z@}
  190. \newif\ifletter@
  191. \newtoks\marktoks@i
  192. \newtoks\marktoks@ii
  193. \newtoks\marktoks@iii
  194. \newtoks\marktoks@iv
  195. \newtoks\marktoks@v
  196. \newif\ifentry@
  197. \newcount\dii@
  198. \def\Topage@#1#2{\DN@{#2}\ifx\next@\frompage@{\pagecs@{\frompage@}}%
  199.  \else{\pagecs@{{\frompage@}\hbox{--}#2}}\fi\egroup\ignorepars@}
  200. \newdimen\pageheight@
  201. \pageheight@\vsize
  202. \newdimen\doublepageheight@
  203. \doublepageheight@2\pageheight@
  204. \advance\doublepageheight@1pc
  205. \newdimen\pagewidth@
  206. \pagewidth@\hsize
  207. \def\makeheadline{%
  208.  \hbox{\botsmash{\hbox to\pagewidth@{\vbox to8.5pt{}\the\headline}}}%
  209.  \nointerlineskip\vskip26pt}
  210. \def\makefootline{\baselineskip=2.5pc\relax
  211.  \hbox to \pagewidth@{\the\footline}}
  212. \newif\iffirstindexpage@
  213. \def\makeindex@W{Index}
  214. \font\Bf=cmbx10 scaled \magstep1
  215. \def\combinecolumns@{%
  216.  \setbox\outbox@\vbox{\makeheadline
  217.   \vbox to\pageheight@{\boxmaxdepth\maxdepth
  218.    \iffirstindexpage@
  219.     \vbox to30\p@{%
  220.      \hbox to\pagewidth@{\hfil\Bf\uppercase\expandafter{\makeindex@W}\hfil}%
  221.       \vfil}%
  222.     \nointerlineskip
  223.    \fi
  224.    \wd\z@\hsize\wd\tw@\hsize
  225.    \setboxz@h to\pagewidth@{\box\z@\kern1pc\box\tw@}%
  226.    \dimen@\dp\z@\box\z@\kern-\dimen@\vfill}%
  227.    \makefootline}%
  228.  {\noexpands@\let\style=\relax
  229.   \shipout@\box\outbox@
  230.  }%
  231.  \global\vsize\doublepageheight@
  232.  \global\firstindexpage@false
  233.  \advancepageno}
  234. \newdimen\prevcoldepth@
  235. \def\doublecolumns@{%
  236.  \dimen@\pageheight@\iffirstindexpage@\advance\dimen@-30\p@\fi
  237.  \ifleftcolbreak@
  238.   \global\leftcolbreak@false
  239.   \vbox to\dimen@{\dimen@\dp\@cclv\unvbox\@cclv
  240.    \ifnum\Ctype@=\thr@@\kern-\dimen@\vfill\fi}%
  241.   \allowbreak
  242.  \else
  243.   \splittopskip\topskip\splitmaxdepth\maxdepth
  244.   \setbox\z@\vsplit\@cclv to\dimen@
  245.   \ifnum\Ctype@=\z@\global\Ctype@\@ne\fi
  246.   \ifcase\Ctype@\or
  247.    \setbox\tw@\vsplit\@cclv to\dimen@\global\prevcoldepth@\dp\tw@
  248.   \else
  249.    \global\prevcoldepth@\dp\@cclv
  250.    \setbox\tw@\vbox to\dimen@{\unvbox\@cclv
  251.     \ifnum\Ctype@=\thr@@\kern-\prevcoldepth@\vfill\fi}%
  252.   \fi
  253.   \combinecolumns@
  254.   \ifcase\Ctype@\or
  255.   \expandafter\continue@\splitbotmark{}\relax\relax\relax\relax
  256.    \relax\relax\continue@
  257.   \else\expandafter\continue@\botmark{}\relax\relax\relax\relax
  258.    \relax\relax\continue@
  259.   \fi
  260.   \ifvoid\@cclv\else\unvbox\@cclv\penalty\outputpenalty\fi
  261.  \fi
  262.  \global\Ctype@\z@}
  263. \def\continue@#1#2#3#4#5#6#7#8\continue@{\def\next@{#1}\ifx\next@\empty
  264.  \else
  265.   \noindent@#3 ({\it continued\/})\par
  266.   \ifnum#1>\@ne\noindent@\enspace(#4 {\it continued\/})\par\fi
  267.   \ifnum#1>\tw@\noindent@\enspace(#5 {\it continued\/})\par\fi
  268.   \ifnum#1>\thr@@\noindent@\enspace(#6 {\it continued\/})\par\fi
  269.   \ifnum#1>4 \noindent@\enspace(#7 {\it continued\/})\par\fi
  270.   \ifvoid\@cclv
  271.    \global\advance\prevcoldepth@-\prevdepth\kern\prevcoldepth@
  272.   \else
  273.    \skip@\baselineskip\advance\skip@\parskip
  274.    \advance\skip@-\topskip\advance\skip@-\prevdepth
  275.    \vskip\skip@
  276.   \fi
  277.  \fi}
  278. \newif\ifshortlastcolumn@
  279. \def\balancecolumns@{\setbox\z@\vbox{\unvbox\@cclv\unskip}%
  280.  \dimen@\ht\z@\advance\dimen@\topskip\advance\dimen@-\baselineskip
  281.  \divide\dimen@\tw@
  282.  \splittopskip\topskip
  283.  \global\dimen@i\dimen@
  284.  {\vbadness\@M
  285.   \loop 
  286.    \global\setbox\thr@@\copy\z@ 
  287.    \global\setbox\@ne\vsplit\thr@@ to\dimen@i
  288.    \ifdim\ht\thr@@>\dimen@i\global\advance\dimen@i\p@
  289.   \repeat}%
  290.  \setbox\z@\vbox to\dimen@i{\unvbox\@ne}%
  291.  \setbox\tw@\vbox to\dimen@i{\dimen@\dp\thr@@\unvbox\thr@@
  292.   \ifshortlastcolumn@\kern-\dimen@\vfill\fi}%
  293.  \combinecolumns@}
  294.  
  295. \newif\ifspecialpage@
  296.  
  297. \let\heading
  298.  
  299. \def\makebib{\par\vfill\break
  300.  \global\specialpage@true
  301.  \gdef\headline@{\makebib@W}%
  302.  \begingroup
  303.  \eightpoint\sfcode`\.=\@m\everypar{}\parindent\z@
  304.  \def\nopunct{\nopunct@true}\def\nospace{\nospace@true}%
  305.  \nopunct@false\nospace@false
  306.  \def\lkerns@{\null\kern\m@ne sp\kern\@ne sp}%
  307.  \def\nkerns@{\null\kern-\tw@ sp\kern\tw@ sp}%
  308.  \hbox to\pagewidth@{\hfil\Bf\uppercase\expandafter{\makebib@W}\hfil}%
  309.  \iftoc@
  310.   \expandafter\unmacro@\meaning\makebib@W\unmacro@
  311.   {\noexpands@
  312.    \edef\next@{\write\toc@{\noexpand\noexpand\noexpand\makebib
  313.     {\macdef@}}}\next@}%
  314.   \write\toc@{\noexpand\Page{\number\pageno}{\page@N}{\page@P}{\page@Q}^^J}%
  315.  \fi
  316.  \nobreak\bigskip}
  317.  
  318. \def\bibliography@W{Bibliography}
  319.  
  320. \def\bibliography{\checkmainfile@
  321.  \immediate\openin\bbl@=\mainfile@.bbl
  322.  \ifeof\bbl@
  323.   \W@{No .bbl file}%
  324.  \else
  325.   \immediate\closein\bbl@
  326.   \begingroup\input bibtex \input\mainfile@.bbl \endgroup
  327.  \fi}%
  328.  
  329. \def\beginthebibliography@#1{\par\vfill\break
  330.  \global\specialpage@true\gdef\headline@{\makebib@W}%
  331.  \eightpoint\setboxz@h{#1\ }\bibindent@\wdz@
  332.  \sfcode`\.=\@m\everypar{}\parindent\z@
  333.  \hbox to\pagewidth@{\hfil\Bf\uppercase\expandafter{\bibliography@W}\hfil}%
  334.  \iftoc@
  335.   \expandafter\unmacro@\meaning\makebib@W\unmacro@
  336.   {\noexpands@
  337.    \edef\next@{\write\toc@{\noexpand\noexpand\noexpand\bibliography
  338.     {\macdef@}}}\next@}%
  339.   \write\toc@{\noexpand\Page{\number\pageno}{\page@N}{\page@P}{\page@Q}^^J}%
  340.  \fi
  341.  \nobreak\bigskip}
  342.  
  343. \def\makeindex{\checkmainfile@\par\vfill\break
  344.  \iftoc@
  345.    \expandafter\unmacro@\meaning\makeindex@W\unmacro@
  346.   {\noexpands@
  347.    \edef\next@{\write\toc@{\noexpand\noexpand\noexpand\makeindex
  348.     {\macdef@}}}\next@}%
  349.   \write\toc@{\noexpand\Page{\number\pageno}{\page@N}{\page@P}{\page@Q}^^J}%
  350.  \fi
  351.  \global\specialpage@true
  352.  \global\firstindexpage@true
  353.  \gdef\headline@{\makeindex@W}%
  354.  \begingroup
  355.  \let\asterisk*%
  356.  \def\lkerns@{\null\kern\m@ne sp\kern\@ne sp}
  357.  \def\nkerns@{\null\kern-\tw@ sp\kern\tw@ sp}
  358.  \def\nocolumnbreak{\ctype@\@ne}
  359.  \def\columnbreak{\ctype@\tw@}
  360.  \def\newcolumn{\ctype@\thr@@}
  361.  \def\LETTER##1{\par
  362.  \mark{}%
  363.  \cbreak@{\penalty-200 \bigskip}\bigskip
  364.  \letter@true\centerline{\bf##1}\nobreak\medskip}%
  365.  \def\Entry##1##2##3##4##5##6##7{\par\entry@true
  366.   \marktoks@i{##3}\marktoks@ii{##4}\marktoks@iii{##5}%
  367.    \marktoks@iv{##6}\marktoks@v{##7}%
  368.   \ifcase##1%
  369.   \or
  370.    \ifletter@\else\mark{}\fi
  371.     \cbreak@\relax\relax
  372.     \noindent@
  373.     \mark{10{\the\marktoks@i}}%
  374.     \hangafter\@ne\hangindent.5em{##3}%
  375.   \or
  376.    \ifcase##2%
  377.     \ifletter@\else\mark{}\fi
  378.     \cbreak@\relax\relax
  379.     \noindent@
  380.     \mark{20{\the\marktoks@i}{\the\marktoks@ii}}%
  381.     \hangafter\@ne\hangindent.5em{##3}\par\nobreak
  382.     \noindent@\hangafter\@ne\hangindent1.5em\quad{##4}%
  383.    \or
  384.     \mark{10{\the\marktoks@i}}%
  385.     \cbreak@\relax\relax
  386.     \noindent@
  387.     \mark{21{\the\marktoks@i}{\the\marktoks@ii}}%
  388.     \hangafter\@ne\hangindent1.5em\quad{##4}%
  389.    \fi
  390.   \or
  391.    \ifcase##2%
  392.     \ifletter@\else\mark{}\fi
  393.     \cbreak@\relax\relax
  394.     \noindent@
  395.     \mark{30{\the\marktoks@i}{\the\marktoks@ii}{\the\marktoks@iii}}%
  396.     \hangafter\@ne\hangindent.5em{##3}\par\nobreak
  397.     \noindent@\hangafter\@ne\hangindent1.5em\quad{##4}\par\nobreak
  398.     \noindent@\hangafter\@ne\hangindent2.5em\qquad{##5}%
  399.    \or
  400.     \mark{10{\the\marktoks@i}}%
  401.     \cbreak@\relax\relax
  402.     \noindent@
  403.     \mark{31{\the\marktoks@i}{\the\marktoks@ii}{\the\marktoks@iii}}%
  404.     \hangafter\@ne\hangindent1.5em\quad{##4}\par\nobreak
  405.     \noindent@\hangafter\@ne\hangindent2.5em\qquad{##5}%
  406.    \or
  407.     \mark{2\number\dii@{\the\marktoks@i}{\the\marktoks@ii}}%
  408.     \cbreak@\relax\relax
  409.     \noindent@
  410.     \mark{32{\the\marktoks@i}{\the\marktoks@ii}{\the\marktoks@iii}}%
  411.     \hangafter\@ne\hangindent2.5em\qquad{##5}%
  412.    \fi
  413.   \or
  414.    \ifcase##2%
  415.     \ifletter@\else\mark{}\fi
  416.     \cbreak@\relax\relax
  417.     \noindent@
  418.     \mark{40{\the\marktoks@i}{\the\marktoks@ii}{\the\marktoks@iii}%
  419.      {\the\marktoks@iv}}%
  420.     \hangafter\@ne\hangindent.5em{##3}\par\nobreak
  421.     \noindent@\hangafter\@ne\hangindent1.5em\quad{##4}\par\nobreak
  422.     \noindent@\hangafter\@ne\hangindent2.5em\qquad{##5}\par\nobreak
  423.     \noindent@\hangafter\@ne\hangindent3.5em\qquad\quad{##6}%
  424.    \or
  425.     \mark{10{\the\marktoks@i}}%
  426.     \cbreak@\relax\relax
  427.     \noindent@
  428.     \mark{41{\the\marktoks@i}{\the\marktoks@ii}{\the\marktoks@iii}%
  429.      {\the\marktoks@iv}}%
  430.     \noindent@\hangafter\@ne\hangindent1.5em\quad{##4}\par\nobreak
  431.     \noindent@\hangafter\@ne\hangindent2.5em\qquad{##5}\par\nobreak
  432.     \noindent@\hangafter\@ne\hangindent3.5em\qquad\quad{##6}%
  433.    \or
  434.     \mark{2\number\dii@{\the\marktoks@i}{\the\marktoks@ii}}%
  435.     \cbreak@\relax\relax
  436.     \noindent@
  437.     \mark{42{\the\marktoks@i}{\the\marktoks@ii}{\the\marktoks@iii}%
  438.      {\the\marktoks@iv}}%
  439.     \noindent@\hangafter\@ne\hangindent2.5em\qquad{##5}\par\nobreak
  440.     \noindent@\hangafter\@ne\hangindent3.5em\qquad\quad{##6}%
  441.    \or
  442.     \mark{3\number\dii@{\the\marktoks@i}{\the\marktoks@ii}%
  443.      {\the\marktoks@iii}}%
  444.     \cbreak@\relax\relax
  445.     \noindent@
  446.     \mark{43{\the\marktoks@i}{\the\marktoks@ii}{\the\marktoks@iii}%
  447.      {\the\marktoks@iv}}%
  448.     \hangafter\@ne\hangindent3.5em\qquad\quad{##6}%
  449.    \fi
  450.   \or
  451.    \ifcase##2%
  452.     \ifletter@\else\mark{}\fi
  453.     \cbreak@\relax\relax
  454.     \noindent@
  455.     \mark{50{\the\marktoks@i}{\the\marktoks@ii}{\the\marktoks@iii}%
  456.      {\the\marktoks@iv}{\the\marktoks@v}}%
  457.     \hangafter\@ne\hangindent.5em{##3}\par\nobreak
  458.     \noindent@\hangafter\@ne\hangindent1.5em\quad{##4}\par\nobreak
  459.     \noindent@\hangafter\@ne\hangindent2.5em\qquad{##5}\par\nobreak
  460.     \noindent@\hangafter\@ne\hangindent3.5em\qquad\quad{##6}\par\nobreak
  461.     \noindent@\hangafter\@ne\hangindent4.5em\qquad\qquad{##7}%
  462.    \or
  463.     \mark{10{\the\marktoks@i}}%
  464.     \cbreak@\relax\relax
  465.     \noindent@
  466.     \mark{51{\the\marktoks@i}{\the\marktoks@ii}{\the\marktoks@iii}%
  467.      {\the\marktoks@iv}{\the\marktoks@v}}%
  468.     \hangafter\@ne\hangindent1.5em\quad{##4}\par\nobreak
  469.     \noindent@\hangafter\@ne\hangindent2.5em\qquad{##5}\par\nobreak
  470.     \noindent@\hangafter\@ne\hangindent3.5em\qquad\quad{##6}\par\nobreak
  471.     \noindent@\hangafter\@ne\hangindent4.5em\qquad\qquad{##7}%
  472.    \or
  473.     \mark{2\number\dii@{\the\marktoks@i}{\the\marktoks@ii}}%
  474.     \cbreak@\relax\relax
  475.     \noindent@
  476.     \mark{52{\the\marktoks@i}{\the\marktoks@ii}{\the\marktoks@iii}%
  477.      {\the\marktoks@iv}{\the\marktoks@v}}%
  478.     \hangafter\@ne\hangindent2.5em\qquad{##5}\par\nobreak
  479.     \noindent@\hangafter\@ne\hangindent3.5em\qquad\quad{##6}\par\nobreak
  480.     \noindent@\hangafter\@ne\hangindent4.5em\qquad\qquad{##7}%
  481.    \or
  482.     \mark{3\number\dii@{\the\marktoks@i}{\the\marktoks@ii}%
  483.      {\the\marktoks@iii}}%
  484.     \cbreak@\relax\relax
  485.     \noindent@
  486.     \mark{53{\the\marktoks@i}{\the\marktoks@ii}{\the\marktoks@iii}%
  487.      {\the\marktoks@iv}{\the\marktoks@v}}%
  488.     \hangafter\@ne\hangindent3.5em\qquad\quad{##6}\par\nobreak
  489.     \noindent@\hangafter\@ne\hangindent4.5em\qquad\qquad{##7}%
  490.    \or
  491.     \mark{4\number\dii@{\the\marktoks@i}{\the\marktoks@ii}%
  492.      {\the\marktoks@iii}{\the\marktoks@iv}}%
  493.     \cbreak@\relax\relax
  494.     \noindent@
  495.     \mark{54{\the\marktoks@i}{\the\marktoks@ii}{\the\marktoks@iii}%
  496.      {\the\marktoks@iv}{\the\marktoks@v}}%
  497.     \hangafter\@ne\hangindent4.5em\qquad\qquad{##7}%
  498.    \fi
  499.   \fi
  500.   \dii@##2\relax
  501.   \letter@false
  502.   \ignorepars@}%
  503.  \def\Page##1{\ifentry@\adjustpunct@,\enspace\else\adjustpunct@, \fi
  504.   \entry@false{##1}\ignorepars@}%
  505.  \def\Pagespan##1{\ifentry@\adjustpunct@,\enspace\else\adjustpunct@, \fi
  506.   \entry@false\def\frompage@{##1}{##1}\ignorepars@}%
  507.  \def\Topage##1{\DN@{##1}\ifx\next@\frompage@
  508.   \else\hbox{--}{##1}\fi\ignorepars@}%
  509.  \def\PageSpan##1##2{\ifentry@\adjustpunct@,\enspace\else\adjustpunct@, \fi
  510.   \entry@false\def\pagecs@{##1}\def\frompage@{##2}%
  511.   \bgroup\let\Topage\Topage@\ignorepars@}%
  512.  \def\Xref##1{\ifentry@\else
  513.   \def\See####1{\adjustpunct@\semicolon@\space
  514.   {\it see~also\/}~####1}{##1}\fi\ignorepars@}%
  515.  \def\Morexref##1{\ifentry@\else
  516.   \def\See####1{\adjustpunct@, ####1}{##1}\fi\ignorepars@}%
  517.  \def\Entryxref##1##2##3##4##5##6##7##8{%
  518.   \Entry{##1}{##2}{##3}{##4}{##5}{##6}{##7}%
  519.   \def\See####1{\adjustpunct@, {\it see\/}~####1}{##8}\ignorepars@}%
  520.  \def\shortlastcolumn{\shortlastcolumn@true}
  521.  \hsize14pc
  522.  \global\vsize\doublepageheight@
  523.  \maxdepth\maxdimen
  524.  \global\firstindexpage@true
  525.  \global\advance\vsize-60\p@
  526.  \everypar{}\parindent\z@
  527.  \eightpoint
  528.  \rightskip\z@ plus3em \spaceskip.3333em \xspaceskip.5em
  529.  \output{\doublecolumns@}%
  530.  \input\mainfile@.xdx
  531.  \mark{}%
  532.  \output{\balancecolumns@}\vfil\break\endgroup
  533.  \global\vsize\pageheight@}
  534.  
  535. \footline={\ifspecialpage@\hfil\ninerm\page@S{\page@P\page@N{\number\page@C}%
  536.  \page@Q}\hfil\fi
  537.  \global\specialpage@false}
  538.  
  539. \headline={\unlabel@\noset@\def\\{\unskip\space\ignorespaces}%
  540.  \ifspecialpage@\hfil
  541.  \else
  542.   \ifodd\pageno
  543.    \hfil
  544.    \smc\headline@
  545.    \hfil
  546.    \llap{\tenpoint\folio}%
  547.   \else
  548.    \rlap{\tenpoint\folio}%
  549.    \hfil
  550.    \smc\headline@
  551.    \hfil
  552.   \fi
  553.  \fi}
  554.  
  555. \def\alloc@#1#2#3#4#5{\global\advance\count1#1by\@ne
  556.  \ch@ck#1#4#2\allocationnumber=\count1#1
  557.  \global#3#5=\allocationnumber
  558.  \wlog{\string#5=\string#2\the\allocationnumber}}
  559.  
  560. \catcode`\@=\active
  561.